package tech.wetech.admin.modules.system.web;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import tech.wetech.admin.core.annotation.SystemLog;
import tech.wetech.admin.core.utils.HttpUtils;
import tech.wetech.admin.core.utils.PayUrl;
import tech.wetech.admin.core.utils.Result;
import tech.wetech.admin.modules.base.web.BaseCrudController;
import tech.wetech.admin.modules.system.po.Company;
import tech.wetech.admin.modules.system.service.CompanyService;

import java.util.HashMap;
import java.util.Map;

@Controller
@RequestMapping("/unfiedpay/company")
public class PostCompanyController extends BaseCrudController<Company> {

    @Autowired
    private CompanyService companyService;

    /*
     * @Description: 平台对接新增统一支付单位
     * @Author: lu
     * @Date: 2022/3/30 10:26
     * @param map:
     * @return: tech.wetech.admin.core.utils.Result
     **/
    @ResponseBody
    @PostMapping("/add")
    public Result add(@RequestBody Map<String,Object> map) {
        String strCompany= String.valueOf(map.get("company"));
        Company company= JSONObject.parseObject(strCompany,Company.class);
        Map<String,String> tokenMap=new HashMap<>();
        tokenMap.put("token", String.valueOf(map.get("token")));
//        String json= null;
//        try {
//            HttpUtils httpUtils=new HttpUtils(false);
//            json = httpUtils.sendGet(PayUrl.token,tokenMap);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        JSONObject jsonObject= JSON.parseObject(json);
//        if (jsonObject.getInteger("code")==200){
            return companyService.createUnfiedpayCompany(company);
//        }else {
//            Result result=new Result();
//            result.setCode("0002");
//            result.setMsg("token验证不过");
//            return result;
//        }
    }

    /*
     * @Description: 平台对接查询统一支付单位
     * @Author: lu
     * @Date: 2022/3/30 10:27
     * @param map:
     * @return: tech.wetech.admin.core.utils.Result
     **/
    @ResponseBody
    @PostMapping("/select")
    public Result selectCompany(@RequestBody Map<String,Object> map) {
        Map<String,String> tokenMap=new HashMap<>();
        tokenMap.put("token", String.valueOf(map.get("token")));
        String json= null;
//        try {
//            HttpUtils httpUtils=new HttpUtils(false);
//            json = httpUtils.sendGet(PayUrl.token,tokenMap);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        JSONObject jsonObject= JSON.parseObject(json);
//        if (jsonObject.getInteger("code")==200){
            return companyService.selectCompany(String.valueOf(map.get("companyId")));
//        }else {
//            Result result=new Result();
//            result.setCode("0002");
//            result.setMsg("token验证不过");
//            return result;
//        }
    }

    @ResponseBody
    @PostMapping("/revise")
    public Result update(@RequestBody Map<String,Object> map) {
        String strCompany= String.valueOf(map.get("company"));
        Company company= JSONObject.parseObject(strCompany,Company.class);
        Map<String,String> tokenMap=new HashMap<>();
        tokenMap.put("token", String.valueOf(map.get("token")));
        String json= null;
//        try {
//            HttpUtils httpUtils=new HttpUtils(false);
//            json = httpUtils.sendGet(PayUrl.token,tokenMap);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        JSONObject jsonObject= JSON.parseObject(json);
//        if (jsonObject.getInteger("code")==200){
            return companyService.updateCompanyPay(company);
//        }else {
//            Result result=new Result();
//            result.setCode("0002");
//            result.setMsg("token验证不过");
//            return result;
//        }
    }

    /*
     * @Description: 删除单位信息
     * @Author: lu
     * @Date: 2022/4/1 9:38
     * @param map:
     * @return: tech.wetech.admin.core.utils.Result
     **/
    @ResponseBody
    @PostMapping("/deletes")
    public Result deletes(@RequestBody Map<String,Object> map) {
        Map<String,String> tokenMap=new HashMap<>();
        tokenMap.put("token", String.valueOf(map.get("token")));
        String json= null;
//        try {
//            HttpUtils httpUtils=new HttpUtils(false);
//            json = httpUtils.sendGet(PayUrl.token,tokenMap);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        JSONObject jsonObject= JSON.parseObject(json);
//        if (jsonObject.getInteger("code")==200){
            return companyService.deletes(String.valueOf(map.get("companyId")));
//        }else {
//            Result result=new Result();
//            result.setCode("0002");
//            result.setMsg("token验证不过");
//            return result;
//        }
    }
}
